# coding=utf-8
import sys
from typing import List
import io

import xlwt


# 字符串转二维数组
def parse_custom_string_to_2d_list(input_str: str) -> List[List[str]]:
    # 移除字符串开头和结尾的中括号
    input_str = input_str.strip('[]')

    # 分割字符串以获取每个子列表的字符串表示
    sublists_str = input_str.split('], [')

    # 初始化二维列表
    result = []

    # 遍历每个子列表的字符串表示
    for sublist_str in sublists_str:
        # 移除子列表字符串开头和结尾的空格
        sublist_str = sublist_str.strip()

        # 分割子列表字符串以获取每个元素的字符串表示
        elements = sublist_str.split(', ')

        # 将元素列表添加到二维列表中
        result.append(elements)

    return result


if __name__ == '__main__':
    # 解决中文乱码
    sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')

    matrixStr = sys.argv[1]  # 矩阵内容
    res = parse_custom_string_to_2d_list(matrixStr)
    id = sys.argv[2]  # 分析id

    # 新建工作簿
    xls = xlwt.Workbook()
    # 新建sheet
    sht1 = xls.add_sheet('Sheet1')
    for row, value in enumerate(res):
        for column, data in enumerate(res[row]):
            sht1.write(row, column, data)
    xls.save('D:/easy-ctba/python/fias/' + id + '矩阵表.xlsx')
    print('D:/easy-ctba/python/fias/' + id + '矩阵表.xlsx')
